Inner (private) functions
Namespaces maken
Beschrijving
Als je beseft dat een functie net zoals elke andere waarde is, is het niet moeilijk in te zien dat je een functie in een andere functie kan declareren:
function outer(value) { function inner(input) { return input * 3; } return 'Het resultaat is ' + inner(value); }
Je kan het vorige ook schrijven met behulp van een functie expressie:
var outer = function (value) { var inner = function (input) { return input * 3; }; return 'Het resultaat is ' + inner(value); };
Wanner je de globale functie outer()
aanroept, zal het intern de lokale functie inner()
uitvoeren. Vermits inner()
lokaal, is niet toegankelijk buiten outer()
. Dus kan met recht spreken van een privé functie (private function).
De voordelen van het gebruik van privé functies zijn:
- je houdt de global namespace schoon en dus minder naamgevingconflicten;
- privacy: je stelt alleen de functies die de "buitenwereld" mag zien bloot en houdt functionaliteit die niet niet bedoeld is om door de rest van de toepassing te worden geconsumeerd, voor jezelf.
Hiermee zullen we ook zoiets als klassen kunnen maken.
2016-10-04 18:00:47